Jedi Academy Mod (1.5)

New version available! Find it here.

By cHoSeN oNe
Date: 12-15-2003

Download

Readme


Jedi Academy Mod


Version 1.5
Author Michael 'cHoSeN oNe' Nohai
Email chosenone@nyc.com
Type Jedi Knight II
Server Modification





Index
Overview
1.5 - Updates
1.4 - Features
1.3 - Special Edition
Installation
Server Side Only Installation
Modifications
Rcon, Admin, and Knight commands
Emotes, Client, & Admin commands
Damage CVars
Message CVars
Other CVars
Known Issues
FAQ
Other Cool Mods
Disclaimer




Overview
This mod is the official mod for the Jedi Academy. A server-side only modification designed to keep the peace and order on the servers. This is the final chapter of this great series for Jedi Knight II: Jedi Outcast® as we get ready for Jedi Knight: Jedi Academy®. With that in mind, I set out and improved this mod with the way I wanted it to in the past. It's loaded with Admin Commands, Client Commands, Emotes, Options, and cVars; Extremely modified to meet any clans expectations. This is truly the only mod you will ever need to get that doesn't alter the normal gameplay of Jedi Knight II: Jedi Outcast® Please visit us at http://www.thejediacademy.net, http://jamod.jk3files.com or on IRC at #jedi-academy, irc.quakenet.org Stay tuned to the new mod Jedi Academy Reloaded� for Jedi Knight: Jedi Academy® which will be bigger and better than the JA Mod series for Jk2.



1.5 - Updates
Over 60 cVars removed.
Server Admins can now pick and choose what commands they wish to allow their "am" and "jk" level admins to use.
g_mAdminCommands - cVar bit value to determine which "am" commands are allowed for their admins.
g_mKnightCommands - cVar bit value to determine which "jk" commands are allowed for their knights.
rcon admin can always execute the commands even if they are disabled to other admins.
aminfo - now prints commands that are accessable to admin, instead of just commands in the mod.
amhelp - now prints commands help to the admins pending if they are accessable to them.
g_mNerfBacta - Allows you to change the Health regeneration of the Bacta.
g_mBactaHP - The value of which the bacta regenerates your Health.
Windows Installer Version includes jk2 1.04 Dedicated server.



1.4 - Features
New IP Range Banning Admin Command ( mbanrange)
g_mAllowPowerups - Enforces the use of powerups when 1 or more (Except for ALL) force powers are disabled.
g_mDebugTerminator - Will enforce the "Saber Only" server rule and will allow no weapons other than saber upon it.
g_mDebugEmpower - Will enforce the "No Force" rule and will not allow empowered clients to have force.
g_mAllActivity - detects all activity by client when using the g_timeouttospec cvar, thanks Lee
bot_honorableduelacceptance - now available without cheats, default is enabled.
Spectator Followers can now be kicked, banned, etc. without affecting others.
mvstr - command that allows you to choose which map you want in the rotation, without disrupting the order.
mnextmap - executes next map available in rotation.
g_mAllowTeamSuicide - allows clients to use the \kill command when in team games.
Added Thunder sound effect to admin & knight login.
Added Explode sound effect to the mexplode admin command.
Most default settings that were in academy.cfg are now hardcoded into mod for faster and easier configuration.
jk2logbackup.pl - this is a perl script for BSD and Linux servers only, designed to archive your games.log file weekly. (written by neoE)
Minor Code Tweaks



1.3 - Special Edition
mnpcaccess does not give client access to cheats.
You can now use clients names for assigning mnpcaccess/mnpcnoaccess.
Fixed an emote exploit due to g_mDebugCheats set to 1 and cheats enabled. (debugKnockMeDown)
Fixed emote exploit when in spectator.
Disabled the use of pushing/pulling dropped items. (this fixes the weird spawnpoint bug)
Empower only gives team force and team heal power as an extra when playing team games only
Empowered clients now has stronger team force and heal when playing in team games.
g_mAdminGun - Enables/Disables AdminGun system. (includes script)
Fixed using emotes when dead.
Fixed using terminator and unterminator to become alive after death.
Fixed Teleporting the dead.
g_mAllowTeleFlag - default is enabled, if set to 0, clients cannot teleport during CTF and CTY gameplay.
New BanIP.dat file stores banned ip's. Full use of 2048 saved ips activated! ( written by Lee Oattes )
Clients cannot use emotes during movements, specials, backattacks, and other saber attacks.
Tweaked the whois command a little again to make it more stable.
Server messages print better for clarity.
New Voting checks, 1) Failed Vote Delay, 2) Need 2 clients to call a vote 3) No voting within 1 min of map change.
g_mAllowVoteMap, g_mAllowVoteGameType, g_mAllowVoteKick - new cVars to control certain voting rights.
Clients can no longer change their name during a vote to escape its purpose.
g_mGiveAdmin - if set to 1, you can grant an admin access level to anyone on the server.
madminaccess, mdenyadminaccess - commands for granting/denying admin access to clients.
New admin command mprotect/munprotect - protects client on server from attacks untill client attacks others.
Silence/Unsilence has new mode parameter.
Sleeping and Punished clients now are invulnerable to attacks.
Explode now gives you a selection of which appendage you wish to detach.
Enable/Disable use of black color names.
Client's nick can now be 50 characters rather than 32.
mreward command removed.
New logout function - to logout as an admin or knight.
Timeout to spectator finally working correctly with g_inactivity timer. ( written by Lee Oattes )
Ignore - ignore certain clients from chatting so you dont have to listen to them.
Punished and Sleeping clients can no longer use the \kill command.
New cVar g_mNameChange - Name changing time allowance, default is 1 minute.
Same name checking, auto renames when a client with same name is found.
New g_mAllowBotLimit, g_mMaxBots, and g_mMinHumans to control amount of bots and players on the server at any given time.
Saga Mode compatible, including all bug fixes made by authors in Lucasforums.
Included Filter for all QTracker� servers using JA Mod. ( Double click JAMod.qtf file to install )
Optimized Source code to increase speed and stability.
All Features included from previous releases.



Installation
Linux:
Create a directory like this:
/home/.../jk2/academy
where '/home/.../jk2/' is the path where you installed Jedi Knight II. Now you can start the server with the '+set fs_game academy' argument.

Example:
./jk2ded +set fs_game academy +exec server.cfg +exec academy.cfg

Script:
Place in location of your server's jk2 root directory.
View the cron script by using the crontab -1 command to see the script.
Next edit the script using the crontab -e command and map the path to the perl script.
If you wish to Back-up at 5 am every week, every month, type the following.
0 5 * * 0 /path/jk2root/jk2logbackup.pl
If you wish to have an email sent to you in case the script fails, type MAILTO="your email"


Windows:
Create a directory like this:
X:\...\Star Wars JK II Jedi Outcast\GameData\academy
where 'X:\...\Star Wars JK II Jedi Outcast\' is the path where you installed Jedi Knight II. Now you can start the server with the '+set fs_game academy' argument.

Example:
jk2mp.exe +set fs_game academy +exec server.cfg +exec academy.cfg

IMPORTANT:
For the Ban code, you will need to authorize FULL Admin access to the academy folder.
Windows: Make sure you have an administrator account.
Linux: command = man chmod, then follow on screen instructions.




Server Side Only Installation
If you install the mod the way as described with a pk3 file, the client will still have to download it when he connects. To prevent this, since Jedi Academy Mod is serverside only, You need to put all files in academy folder. The directory should now appear like ...../jk2/gamedata/academy under Windows or \ ...../jk2/academy under Linux. Under this dir there will be a vm dir with one .qvm file in it as well as the academy.cfg file. Now when a client connects he should not have to download the mod before he can enter the game.


Modifications
Various Trainer and Knight commands
Logging of player IP when player connects to the server. Logging happens in the following format:
mlog_ClientConnect: <player client id> '<player name>' -> '<player ip>'
Logging of Trainer and Knight commands. Every command will be logged in the following format:
mlog_command <playername>
Removed the 2 player at a time duel limit.
Sabers don't automatically ignite at the start of a duel.
"No bacta rule" is now working for duels.
Voting system is now limited for Trainer use only.
When player wins a duel he now gets up to 25 shield points as well as the full 100% health.
Typing !motd or !rules when saying something shows the motd to the player who said it.
Typing !version or !author when saying something shows the version number and author.
Typing !home or !web when saying something shows the JA home page link.
Setting the g_allowDuelSuicide to 1, will enable the clients to use \kill during private duels.
Setting damage for all the moves.
Various emotes.
Fixed Red Stance kick bug, are now able to kick those that use Red.
Invisible Saber Bug fix.
Spectator following/saber throw bug fixed.
g_banIPs cvar removed because it is no longer needed.
g_mMOTDShowTime, g_mSlapKnockDownTime - converted to seconds



Rcon, Admin, and Knight commands
NOTE: [..] are optional

<..> are required

playerid => Can be a client id, full player name or partial player name. For example if there's a player named 'Padawan' and you want to kick him you can use this: mkick pad; mkick pada; mkick wan; etc. (Just watch out if there are more players with the same sequence in their name. At this point only the first encountered player is taken for the command. Also note that the keyword 'all' has special meaning. Most commands take the 'all' keyword to execute the command on all players on the server.

reason => This sends a message to both the server and the client consoles when a player is kicked or kick-banned. For example you can type: "\amkick pada please follow the rules next time." This will send the message "please follow the rules next time" to the server. Also message will be sent to the person's console. (They can scroll up in their console when they are disconnected)

Rcon command Trainer command Knight command Description
minfo aminfo aminfo Show all the available commands. The aminfo version also works for normal clients, but only Trainers and Knights get to see the admin info.
mhelp amhelp amhelp Quick Help for commands available in mod.
mwhois amwhois jkwhois Shows you which client is logged in as a Jedi Trainer and/or Jedi Knight.
amlogin <password> jklogin <password> Trainers and Knights use this to login as an admin.
logout logout Trainers and Knights use this to logout as an admin.
mstatus [playerid] amstatus [playerid] jkstatus [playerid] Altered version of status. This version sends less info to get passed the bug in the regular status where not all lines are send to the console. If a playerid is given the selected player will get a full screen display of the status. This is primarily for binding admin commands:
bind m rcon mstatus <Your player name here>
mkick <playerid><reason> amkick <playerid><reason> jkkick <playerid><reason> Same as kick but enhanced to also take a clientid or a partial player name and a reason from the admin for being kicked.
kickgun (AdminGun command)
mslap <playerid> amslap <playerid> jkslap <playerid> Slaps the selected player. Knocks player in a random direction and knocks him down for several seconds.
slapgun (AdminGun command)
mempower <playerid> amempower <playerid> jkempower <playerid> Empowers the selected player. The selected player gets duel saber and all force powers. The player also enters 'Jedi Master Mode' which allows him to do double damage. Empowered players also can't be pushed/pulled. This mode is primarily for admins having to deal with misbehaving players.
empowergun (AdminGun command)
munempower <playerid> amunempower <playerid> jkunempower <playerid> Undo the effects of mempower.
unempowergun (AdminGun command)
mterminator <playerid> amterminator <playerid> jkterminator <playerid> Threaten those empowered Jedi and become a dangerous individual with this command.
terminatorgun (AdminGun command)
munterminator <playerid> amunterminator <playerid> jkunterminator <playerid> Undo the effects of mterminator.
unterminatorgun (AdminGun command)
msilence <playerid><mode> amsilence <playerid><mode> jksilence <playerid><mode> Silence players so they can't talk. Mode passed could be 'global' for all chat disabled and 'private' for just public chat disabled.
munsilence <playerid><mode> amunsilence <playerid><mode> jkunsilence <playerid><mode> Unsilence players so they can talk again. Mode passed could be 'global' or 'gm' for all chat disabled and 'private' or 'pm' for just public chat disabled.
msleep <playerid> amsleep <playerid> jksleep <playerid> If there's someone on the server behaving badly this can be used to put them 'to sleep'. When asleep the player lies on the ground and can't move, jump, attack, etc. Player can still talk however. This can work wonders on those players that keep coming back after you keep kicking them.
sleepgun (AdminGun command)
mwake <playerid> amwake <playerid> jkwake <playerid> Wake the player if he's asleep (undo the effects of msleep).
wakegun (AdminGun command)
mrename <playerid> <new name> amrename <playerid> <new name> jkrename <playerid> <new name> Renames a player. If a player comes into the server with an offensive name this can be used to rename the player to something more appropriate. Note that at this time the player can still rename himself after this command.
mshowmotd <playerid> amshowmotd <playerid> jkshowmotd <playerid> By default the motd is shown whenever a player enters the game. This can be used to remind someone of the motd/rules by showing it to them again.
showmotdgun (AdminGun command)
mbunny <playerid> ambunny <playerid> jkbunny <playerid> Turns player into a 'bunny'. In this mode the players saber is removed and replaced by something less deadly, the force powers are also removed. The player also starts jumping around randomly.
bunnygun (AdminGun command)
munbunny <playerid> amunbunny <playerid> jkunbunny <playerid> Undo the effects of mbunny.
unbunnygun (AdminGun command)
mexplode <playerid><appendage> amexplode <playerid><appendage> jkexplode <playerid><appendage> Blows of someone's body part. appendage = (head, waist, larm, rarm, hand, lleg, or rleg)
mpsay <playerid> ampsay <playerid> jkpsay <playerid> Send a message to a specific player.
mtimescale <timescale> amtimescale <timescale> jktimescale <timescale> Sets the timescale for the whole server. 1.0 is normal speed 2.0 is twice as fast. 0.5 is half speed (This might cause some lag on slow connections).
mkickban <playerid><reason> amkickban <playerid><reason> jkkickban <playerid><reason> Bans and kicks the player at the same time with a reason why they were kicked. No need to enter an ip.
[NOTE: All banned ips are stored in a BanIP.dat file located in the mod folder. To UnBan someone, you can use notepad to delete the IP address or the rcon command "removeip".]
kickbangun (AdminGun command)
mbanrange <playerid><reason> ambanrange <playerid><reason> jkbanrange <playerid><reason> Kicks and Bans client's ip range ( xxx.xxx.0.0 )
banrangegun (AdminGun command)
mtele <playerid><x><y><z><yaw> amtele <playerid><x><y><z><yaw> jktele <playerid><x><y><z><yaw> This can teleport any client to any desired location.
[NOTE: The clients destination is read with using the amorigin command. This will get you the X, Y, and Z coordinates on the map. The YAW is the angle the user is facing, any number from 0 to 360 degrees will work just fine.]
[CAUTION: This command can cause serious lag to the server and/or other clients if used abusively.]
morigin <playerid> amorigin <playerid> jkorigin <playerid> This gets client's X, Y, and Z coordinates on the map and prints them to the console.
origingun (AdminGun command)
mpunish <playerid> ampunish <playerid> jkpunish <playerid> Client becomes 'punished' by freezing their movement, canceling their ability to chat, it takes all weapons away (except for saber), no force abilities, and user is put in a choking animation.
punishgun (AdminGun command)
munpunish <playerid> amunpunish <playerid> jkunpunish <playerid> Client becomes 'normal' again. All weapons, force, weapons, movement return to normal.
unpunishgun (AdminGun command)
mprotect <playerid> amprotect <playerid> jkprotect <playerid> Gives the client a certain protection/invulnerability. If client attacks in any way, they lose the power. Must unprotect before using protect again.
protectgun (AdminGun command)
munprotect <playerid> amunprotect <playerid> jkunprotect <playerid> Unprotects the client.
unprotectgun (AdminGun command)
mforceteam <playerid><team> amforceteam <playerid><team> jkforceteam <playerid><team> Transfers a client to a specified team in CTF gameplay. (Red, Blue, Spectator)
mdenyvote <playerid> amdenyvote <playerid> jkdenyvote <playerid> Disables use of voting to a specific client.
denyvotegun (AdminGun command)
mallowvote <playerid> amallowvote <playerid> jkallowvote <playerid> Allows client to use the voting feature again.
allowvotegun (AdminGun command)
mlockteam <team> amlockteam <team> jklockteam <team> Locks a specific team in CTF mode so no one can join. (Red, Blue, Spectator)
munlockteam <team> amunlockteam <team> jkunlockteam <team> Unlocks a specific team in CTF mode so people are allowed to join. (Red, Blue, Spectator)
mrandteams amrandteams jkrandteams Randomizes Teams in CTF Gameplay
mnpcaccess <playerid> amnpcaccess <playerid> jknpcaccess <playerid> Gives the client ability to spawn NPC's
allownpcgun (AdminGun command)
mnpcnoaccess <playerid> amnpcnoaccess <playerid> jknpcnoaccess <playerid> Denies the client access to spawn NPC's
denynpcgun (AdminGun command)
madminaccess <playerid><level> Gives the client admin access level
Type am or admin for level 1; Type jk or knight for level 2.
mdenyadminaccess <playerid><level> Denies the client admin access
Type am or admin for level 1; Type jk or knight for level 2.
mgametype <gametype> <map> amgametype <gametype> <map> jkgametype <gametype> <map> Allows Trainer to change Map and Gameplay.
[NOTE: The Gametypes are as follows:
0 = "Free For All"
1 = "Holocron FFA"
2 = "Jedi Master"
3 = "Duel"
5 = "Team FFA"
7 = "Capture the Flag"
8 = "Capture the Ysalamiri"]
mvstr <vstr/name> amvstr <vstr/name> jkvstr <vstr/name> Executes and selects the map desired available in the rotation.
mnextmap> amnextmap jknextmap Executes and selects the next map available in the rotation.
g2animent<type><alignment><weapon>
<model><sound><health><playerid> g2animent<type><alignment><weapon>
<model><sound><health><playerid> Spawn's an NPC of your choice.
[NOTE: All clients will have access to the command, granted the admin gave them the ability (mnpcaccess) to create an NPC.]
More Help
g2platoon<type><alignment><weapon>
<model><sound> g2platoon<type><alignment><weapon>
<model><sound> Spawn's a Group of NPC's of your choice.
[NOTE: All clients will have access to the command, granted the admin gave them the ability (mnpcaccess) to create an NPC.
More Help

Included is a ja_admin.cfg script which allows the admin user to access the admin gun commands with ease. Place this file in your base folder and type \exec ja_admin.cfg in game console when in game.




Emotes, Client, & Admin Commands
Emotes can be used by all clients and are enabled via g_mEmotes cVar. Client Commands can be used by all clients. Admin Commands only for logged in admins and knights and are controlled via g_mAdminCommands and g_mKnightCommands cVars. Rcon command Bit Value Description
amsay <message> Sends a message to all logged in Trainers and Knights.
amsit 1 Kisses another player if you are close enough.
amsit2 2 Hugs another player if you are close enough.
amkiss 4 Sits down or stands up. You can turn on the CVar g_mOnlySitOnGround to only allow players to sit down on the ground.
amsit2 8 Another Sit command. You can turn on the CVar g_mOnlySitOnGround to only allow players to sit down on the ground.
amnod/amshake 16 Nods your head. Shakes your head.
amtaunt 32 Does the SP saber spin taunt.
amtaunt2 64 Does another taunt movement.
amspin 128 Does a special spin move.
amspin2 256 Does another special spin move.
amwave 512 Waves your hand.
amwave2 1024 Makes another wave movement.
amthumbsup
amthumbsdown 2048 Stick your thumb up or down.
ampunch 4096 Make a punching move. Does not currently hurt the player.
amcrossarms 8192 Crosses your arms. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
amlaugh 16384 Make a laughing movement.
amdontknow 32768 Make a shrugging movement.
amcomeon 65536
Waves your arm in a 'come on' movement.
amtossback/amtossup
amtossover 131072 Throws your weapon back, up, or to the side.
ambeg 262144 Person gets on hands and knees. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
amcocky 524288 Does a pointing gesture.
amflip 1048576 Flips your light saber.
amkneel 2097152 Makes you Kneel. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
amsurrender 4194304 Puts your arms up in the air. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
amwait 8388608 Makes person put hands behind their back. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
amhandhips 16777216 Makes a pointing gesture at yourself.
ampoint 33554432
Points at a person..
amscratch 67108864
Scratches your head.
amthink 134217728
Makes a Thinking Gesture. Use the g_mOnlySitOnGround cvar to only allow players to execute this move on the ground.
mslap 1 Allows Admins to use the Slap Command
msleep
mwake 2 Allows Admins to use the Sleep/Wake Commands
msilence
munsilence 4 Allows Admins to use the Slience/UnSilence Commands
mpunish
munpunish 8 Allows Admins to use the Punish/UnPunish Commands
mempower
munempower 16 Allows Admins to use the Empower/UnEmpower Commands
mterminator
munterminator 32 Allows Admins to use the Terminator/UnTerminator Commands
mprotect
munprotect 64 Allows Admins to use the Protect/UnProtect Commands
mbunny
munbunny 128 Allows Admins to use the Bunny/UnBunny Commands
mlockteam
munlockteam 256 Allows Admins to use the Lockteam/UnLockteam Commands
mrandteam 512 Allows Admins to Randomize the Teams.
mallowvote
mdenyvote 1024 Allows Admins to Grant/Deny ones right to vote.
mexplode 2048 Allows Admins to Explode Clients
mshowmotd 4096 Allows Admins to Show the MOTD to others.
mrename 8192 Allows Admins to Rename a client.
mpsay 16384 Allows Admins to Chat Privately
mtele 32768 Allows Admins to use the Teleport Command
mwhois 65536 Allows Admins to see who is logged in as an "am" & "jk" level admin.
morigin 131072 Allows Admins to see their X, Y, and Z location on a map.
mkick 262144 Allows Admins to use the Kick Command.
mkickban 524288 Allows Admins to use the KickBan Command.
mbanrange 1048576 Allows Admins to use the BanRange Command.
mvstr 2097152 Allows Admins to use the VSTR Command
mnextmap 4194304 Allows Admins to use the Nextmap Command
mtimescale 8388608 Allows Admins to use the TimeScale Command
mforceteam 16777216 Allows Admins to use the ForceTeam Command
mstatus 33554432 Allows Admins to use the Status Command
mgametype 67108864 Allows Admins to use the Gametype Command
mnpcaccess
mnpcnoaccess 134217728 Allows Admins to Grant/Deny ones abilities to spam NPC's.
amlogin g_mAllowAdminLogin Allows Secondary Admins to use the Admin Commands
jklogin g_mAllowKnightLogin Allows Knights to use the Admin Commands





Damage CVars
Commands that can be used to control the damage certain moves do. Note that certain moves have a min and a max damage. The min damage is in the beginning and ending of the move the max damage is usually the middle of the move. Values are interpolated over the whole range of the move. As a rule of thumb the number of HP that will go off is about equal to half of the damage. Default values are the normal JKII values. CVar Description
g_mSaberDMGIdle Damage a saber does when idle. (Default is 1)
g_mKickDMGModifier Modifier for kick damage. (Default is 1) increase for higher damage, decrease for lower damage.
g_mSaberDMGThrow Damage a thrown saber does. (Default is 30)
g_mSaberDMGThrowReturn Damage a thrown saber does on it's way back. (Default is 5)
g_mSaberDMGRedNormalMin Min damage for normal red slashes. (Default is 2)
g_mSaberDMGRedNormalMax Max damage for normal red slashes. (Default is 120)
g_mSaberDMGRedDFAMin Min damage for the red Death From Above move. (Default is 2)
g_mSaberDMGRedDFAMax Max damage for the red Death From above move. (Default is 180)
g_mSaberDMGRedBackMin Min damage for the red backslash move. (Default is 2)
g_mSaberDMGRedBackMax Max damage for the red backslash move. (Default is 30)
g_mSaberDMGYellowNormal Normal damage for the yellow slash. (Default is 60)
g_mSaberDMGYellowOverheadMin Min damage of the yellow downward slash. (Default is 2)
g_mSaberDMGYellowOverheadMax Max damage of the yellow downward slash. (Default is 80)
g_mSaberDMGYellowBackMin Min damage for the yellow backslash move. (Default is 2)
g_mSaberDMGYellowBackMax Max damage for the yellow backslash move. (Default is 30)
g_mSaberDMGBlueNormal Normal damage for the blue slash. (Default is 30)
g_mSaberDMGBlueLungeMin Min damage for the blue lunge move. (Default is 2)
g_mSaberDMGBlueLungeMax Max damage for the blue lunge move. (Default is 45)
g_mSaberDMGBlueBackMin Min damage for the blue backstab move. (Default is 2)
g_mSaberDMGBlueBackMax Max damage for the blue backstab move. (Default is 30)





Message CVars
These CVars are custom messages that can be set for certain commands. This is what players see when a command is executed. Note that some commands allow the use of %s to be replaced with the affected player's name. Also note that in most CVars a \n can be used to insert an enter. Everyone
[Get's shown when using a command with the all keyword] Broadcast
[Get's broadcast to everyone but the target of a command] Target
[Get's broadcast to the target of a command]
g_mMessageUnEmpowerEveryone g_mMessageUnEmpowerBroadcast g_mMessageUnEmpowerTarget
g_mMessageEmpowerEveryone g_mMessageEmpowerBroadcast g_mMessageEmpowerTarget
g_mMessageUnTerminatorEveryone g_mMessageUnTerminatorBroadcast g_mMessageUnTerminatorTarget
g_mMessageTerminatorEveryone g_mMessageTerminatorBroadcast g_mMessageTerminatorTarget
g_mMessageUnProtectEveryone g_mMessageUnProtectBroadcast g_mMessageUnProtectTarget
g_mMessageProtectEveryone g_mMessageProtectBroadcast g_mMessageProtectTarget
g_mMessageUnSilenceEveryone g_mMessageUnSilenceBroadcast g_mMessageUnSilenceTarget
g_mMessageSilenceEveryone g_mMessageSilenceBroadcast g_mMessageSilenceTarget
g_mMessageWakeEveryone g_mMessageWakeBroadcast g_mMessageWakeTarget
g_mMessageSleepEveryone g_mMessageSleepBroadcast g_mMessageSleepTarget
g_mMessageSlapEveryone g_mMessageSlapBroadcast g_mMessageSlapTarget
g_mMessageUnBunnyEveryone g_mMessageUnBunnyBroadcast g_mMessageUnBunnyTarget
g_mMessageBunnyEveryone g_mMessageBunnyBroadcast g_mMessageBunnyTarget
g_mMessageUnPunishEveryone g_mMessageUnPunishBroadcast g_mMessageUnPunishTarget
g_mMessagePunishEveryone g_mMessagePunishBroadcast g_mMessagePunishTarget
g_mMessageTeleEveryone g_mMessageTeleBroadcast g_mMessageTeleTarget
g_mMessageExplodeTarget g_mMessageExplodeBroadcast g_mMessageExplodeEveryone
g_mMessageForceTeamEveryone g_mMessageForceTeamBroadcast g_mMessageForceTeamTarget
g_mMessageVoteAllowEveryone g_mMessageVoteAllowBroadcast g_mMessageVoteAllowTarget
g_mMessageVoteDenyEveryone g_mMessageVoteDenyBroadcast g_mMessageVoteDenyTarget





Other CVars
CVar Description
g_mAdminPassword The password for the Jedi Academy Trainers.
g_mKnightPassword The password for the Jedi Academy Knights.
g_mAdminCommands This value determines which commands are available to the "am" level admin. Its value is the sum of all the desired command's bit value. Default is 268435455 (all enabled)
g_mKnightCommands This value determines which commands are available to the "jk" level admin. Its value is the sum of all the desired command's bit value. Default is 33886278 (JA Mod 1.4 default)
g_mEmotes This value determines which emotes are available to the clients. Its value is the sum of all the desired emote's bit value. Default is 268435455 (all enabled)
g_mPushItems If this is set to 1, Clients are able to Push/Pull all items.
g_mAllowTeamSuicide If this is set to 0, Clients cannot use the \kill command during team gameplay. (Default is 1)
g_mDebugCheats If this is set to 1, Clients are able to access hidden features in JK2.
g_mDebugTerminator If this is set to 1 and if server is "Saber Only", it will disable use of weapons for Terminators.
g_mDebugEmpower If this is set to 1 and if "No Force" rule for servers is active, than it will disable the use of force for empowered clients.
g_mGiveAdmin If this is set to 1, Rcon can give clients a level of admin access.
g_mAllowPowerups If this is set to 1, You can have powerups if 1 or more (Except for ALL) force is disabled.
g_mBlockThrow If this is set to 1, Clients are able to lose there thrown saber if blocked by opponent.
g_mDuelStats If this is set to 1, Duelers are able to see stats after private duels.
g_mAllowBlack If this is set to 1, Clients can use the color black for names.
g_mAllActivity If this is set to 1, Server detects all activity placed by client for timeout.
g_mAllowTeleFlag If this is set to 0, Clients cannot use Teleport during CTF and CTY gameplay. (Default is 1)
g_mAllowVoteKick If this is set to 1, Clients can use the vote for kicking clients.
g_mAllowVoteGameType If this is set to 1, Clients can use the vote for changing gametypes.
g_mAllowVoteMap If this is set to 1, Clients can use the vote for map changes.
g_mFailedVoteDelay The delay time between a failed vote and new vote can be made in minutes. (Default is 1)
g_mNameChange Clients can only change their name once at this cVar's given time in minutes. (Default is 1)
g_mNerfBacta Allows the server to alter the health regeneration of Bacta. (Default is 0)
g_mBactaHP Health Percentage that is given back to user after using bacta (Default is 100)
g_mAllowBotLimit If this is set to 1, Server Admin can set the g_mMaxBots and g_mMinHumans on the server.
g_mAllowDuelChat Clients can chat as normal during Duel Game Mode. (Default is 1)
g_mMaxBots Set to any number of max bots you want on your server. When g_mMinHumans is reached or excelled, they will be kicked automatically. (Default is 1)
g_mMinHumans The number of Humans on the server before a bot is kicked. (Default is 2)
g_mAdminGun If this is set to 1, All Admins can use the crosshair to aim and execute admin commands on the target.
g_mWelcomeMessage Shows custom welcome message in the console.
g_mHelpInfo This info aids clients on the server.
g_mLoggedInAdmin This displays custom message to client when they log in as an admin.
g_mNotLoggedInAdmin This displays custom message to client when they fail to log in as an admin and attempt to use a command.
g_mLoggedInKnight This displays custom message to client when they log in as an knight.
g_mNotLoggedInKnight This displays custom message to client when they fail to log in as an knight and attempt to use a command.
g_mMOTDContents The contents of the message of the day.
g_mMOTDShowTime The time to show the message of the day in seconds. (Default is 3)
g_mBunnyJumpPowerXY Sideward power of bunny jump. (Default is 50)
g_mBunnyJumpPowerZ Upwards power of bunny jump. (Default is 100)
g_mBunnyJumpChance Chance that someone who is a bunny will jump. (Default is 15)
g_mSlapKnockDownTime Time someone who is slapped will lay on the ground in seconds. (Default is 3)
g_mSlapPowerXY Sideward power of slap. (Default is 400)
g_mSlapPowerZ Upwards power of slap. (Default is 400)
g_mEmpowerShake If this is set to 1 then there will be an 'earthquake' whenever someone uses the mempower or mterminator command.
g_mDoubleSabersForAll values
0: No double sabers except for empowered users.
1: Double sabers for all users.
2: Switch to single saber from off. Switch to double saber from single saber. Switch to off from double saber.
g_mDoubleSaberEmpowered If this CVar is 1 then empowered client gets double bladed saber.
g_mPlayerDuelShield If this CVar is -1 then nothing changes. If it is between 0 and 200 on a duel start the players stats will be saved and the HP will become 100 and the shield will become g_mPlayerDuelShield units. After the duel the stats of the remaining player is restored. This should make duels a bit more fair. (Default is 50)

Please see the enclosed academy.cfg file for an example.
Help for NPC commands
Command Type Alignment Weapon Model Sound Health Owner
g2animent 0 = StormTrooper
1 = Rodian
2 = Jan
3 = Custom 1 = Bad
2 = Good
8 = Static NPC, Attacks ONLY when attacked
9 = NPC attacks ALL but Owner 0 = None
1 = Stun Baton
2 = LightSaber
3 = Bryar Pistol
4 = Blaster
5 = Disruptor
6 = Bowcaster
7 = Repeater
8 = Demp2
9 = Flechette
10 = Rocket Launcher
11 = Thermal Detonator
12 = Trip Mine
13 = Det Pack Model path can be found in pk0.pk3 for use.
(example: /models
/players/rodian/model.glm) Sound path can be found in pk0.pk3 for use.
(example: /sound/chars/rodian/misc) 0 - 999 Playername or ID#
g2platoon 0 = StormTrooper
1 = Rodian
2 = Jan
3 = Custom 1 = Bad
2 = Good
8 = Static NPC, Attacks ONLY when attacked
9 = NPC attacks ALL but Owner 0 = None
1 = Stun Baton
2 = LightSaber
3 = Bryar Pistol
4 = Blaster
5 = Disruptor
6 = Bowcaster
7 = Repeater
8 = Demp2
9 = Flechette
10 = Rocket Launcher
11 = Thermal Detonator
12 = Trip Mine
13 = Det Pack Model path can be found in pk0.pk3 for use.
(example: /models
/players/rodian/model.glm) Sound path can be found in pk0.pk3 for use.
(example: /sound/chars/rodian/misc) None None





Known Issues
When changing some message CVars you can use '%s' to add the player name to the message. When changing the message in the console however, the '%' becomes a '.' so the name won't be displayed. A workaround for this is to only change the values in the config and rerun it.
The am/jk commands need a '/' or '\' (without quotes) in front of them when executing. Else the command will be shown as a talk command to all players.
When sitting, crossing arms, kneeling, begging, surrender, or waiting on someone's head; Or on moving platforms a player will remain in the air and not fall down. You can use g_mOnlySitOnGround to only allow players to sit on the ground thus alleviating the problem.
When sitting, crossing arms, kneeling, begging, surrender, or waiting - the player will become invulnerable to attack, this is due to the nature of how these animations have been implemented and can not be changed unless client side code is changed.
When running a Non-Dedicated Server (Listen Server), and using the \map_restart command the server crashes - Workaround: Place the VM folder inside dummy.pk3 and reload the mod. Clients will then need to download the mod.
If you tend to have trouble with the Mod, be sure to clean out all previous files the mod creates. -jk2mpconfig.cfg and games.log: These files are not compatible with previous version of this mod.



FAQ
Installation instructions confuse me, is there a more detailed way to install?

-Yes, An academy folder in the gamedata directory. Also, make sure inside the academy folder are these files.
1) A vm folder with a jk2mpgame.qvm file in it
2) academy.cfg
3) dummy.pk3
4) description.txt
5) BanIP.dat
6) Readme.htm
When all of these files are in, the mod should load with no problems. Open up the academy.cfg file in notepad and edit the cvars that control the passwords. After this, save the file and close it. When you get in game, Click the setup menu and click the mods menu. Highlight the JA Mod 1.5 and click Load. The screen should flash a couple times, then create your server and enter the game. Open up the console and type \exec academy.cfg That will load all of your cVars and passwords you declared in the academy.cfg file. Then, to login use \amlogin pass (where pass is the password) If you wish to load the mod via shortcut, you can right click on the EXE file in windows and create shortcut. Then, add the arguments
+set fs_game academy +exec academy.cfg +exec server.cfg
Save the shortcut, and double click it to launch. This will launch jk2mp or jk2Ded and load the mod and cfg at same time...skips extra steps thats all...


How do I spawn an NPC?

-You make sure g_mDebugCheats is set to 1 and use the amnpcaccess command to give yourself access. Next, use the g2 animent or g2platoon commands. Example
\g2platoon 0 2 4 /models/players/stormtroopers/model.glm /sounds/chars/st1/misc
\g2animent 1 1 4 /models/players/rodian/model.glm /sounds/chars/rodian/misc 100 0


Why is the new config so short?

-Every default setting for JA Mod 1.5 has been hardcoded in the mod to
1) Shorten the size of the config file
2) Be much easier to set up, even if you do not run config files.
The Readme.htm lists all cVars that are in the mod. Just type those that you wish to change in the config file. An example for Admin Password, it would be:
seta g_mAdminPassword "mypass"
You will need to place a ( seta ) in front of all cVars you change. Once you have edited all that you want in the config (academy.cfg or server.cfg ) When you launch your server be sure to use the \exec command to execute your script.
example: \exec academy.cfg


Everytime I idle, I get kicked into spectator!!!

-When Raven created the cVar g_timeouttospec, it never seemed to work as intended. Now it does :) You need to change the g_timeouttospec cVar. Right now it is defaulted at 50 minutes or or g_timeouttospec 3000. If that is too short of time, you can change it to anything you desire.


What is this Bit Value Thingy?

-You have to add the numbers together to get a value which you place in the g_mAdminCommands cvar or g_mKnightCommands cvar. example: If you just want amkickban, amslap, and amstatus commands for "am" admin. You would first look up their bit value.
kickban = 524288
slap = 1
status = 33554432
Now add those together 524288+1+33554432 = 34078721
You will now set g_mAdminCommands to 34078721 in your academy.cfg file. (seta g_mAdminCommands "34078721")
This same pattern goes for all 3 of the new bit value cvars (g_mAdminCommands, g_mKnightCommands, and g_mEmotes)



Other Cool Mods
Duelers Mod
Masters Of The Force
Attack Of The Clones Total Conversion
ForceMod
ProMod



Disclaimer
Use this mod on your own risk. I take no responsibility what so ever for anything that might happen when using it. The mod has been primarily tested in all modes and gameplays and on both Linux and Windows servers. You do not have permission to decompile or modify this mod in any form or you will be immediatly reported to Raven and brought to justice. The source code will NOT be released for download so please don't ask. This mod may not be re-distributed.